---@class D4.enum
local M = {}

---@enum(key, partial) D4.enum.ActorType
M.ActorType = {
	Invalid = 0x0,
	Monster = 0x1,
	Gizmo = 0x2,
	Client_Effect = 0x3,
	Server_Prop = 0x4,
	Environment = 0x5,
	Critter = 0x6,
	Player = 0x7,
	Item = 0x8,
	Axe_Symbol = 0x9,
	Projectile = 0xA,
	Custom_Brain = 0xB,
	Foliage = 0xC,
	Minimap_Secret = 0xD,
	Mount = 0xE,
	ACTORTYPE_COUNT = 0xF,
};

---@enum(key, partial) D4.enum.GizmoType
M.GizmoType = {
	Door = 0x0,                          -- 门
	Chest = 0x1,                         -- 宝箱
	Portal = 0x2,                        -- 传送门
	Waypoint = 0x4,                      -- 传送点
	Checkpoint = 0x7,                    -- 检查点
	Shrine = 0xB,                        -- 神龛
	Headstone = 0x12,                    -- 墓碑
	Event_Reward_Chest = 0x13,           -- 事件奖励箱
	Portal_Destination = 0x14,           -- 传送门目的地
	Breakable_Container = 0x17,          -- 可破坏容器
	Hidden_Cache = 0x18,                 -- 隐藏宝箱
	Shared_Stash = 0x19,                 -- 共享仓库
	Spawner = 0x1C,                      -- 生成器
	POI_Camera = 0x1D,                   -- 视角点
	Traversal = 0x1E,                    -- 穿越点
	Trigger = 0x2C,                      -- 触发器
	Destroyable_Object = 0x30,           -- 可摧毁物体
	Switch = 0x39,                       -- 开关
	Destroy_Self_When_Near = 0x3C,       -- 靠近时自毁
	Return_Town_Portal = 0x55,           -- 返回城镇传送门
	Graveyard = 0x56,                    -- 墓地
	Boss_Door = 0x57,                    -- Boss门
	PVP_Chest = 0x58,                    -- PVP宝箱
	PVP_Obelisk = 0x59,                  -- PVP方尖碑
	Breakable_Container_Arrangement = 0x5B, -- 可破坏容器组合
	Destroyable_Arrangement = 0x5C,      -- 可摧毁组合
	Necro_Corpse = 0x5D,                 -- 死灵尸体
	Carryable = 0x5E,                    -- 可携带物
	Carryable_Receptacle = 0x5F,         -- 可携带容器
	Chargeable = 0x60,                   -- 可充能物
	DEPRECATED___DO_NOT_USE = 0x61,      -- 废弃不用
	Sign = 0x62,                         -- 标志
	Tracked_Checkpoint = 0x63,           -- 跟踪检查点
	Quest_Switch = 0x64,                 -- 任务开关
	Wardrobe = 0x65,                     -- 衣柜
	Paragon_Glyph_Upgrade = 0x66,        -- 传说铭文升级
	World_Tier_Select = 0x67,            -- 世界等级选择
	Mount_Summon_Post = 0x68,            -- 坐骑召唤点
	Quest_Chest = 0x69,                  -- 任务宝箱
	Unique_Operator_Chest = 0x6A,        -- 特殊操作宝箱
	Chair = 0x6B,                        -- 椅子
	Party_Member_Portal = 0x6C,          -- 队友传送门
	Participant_Timer = 0x6D,            -- 参与者计时器
}

---技能ID
M.SkillID = {}

---灵巫技能ID
---@enum(key, partial) D4.enum.SkillID.Spiritborn
M.SkillID.Spiritborn = {
	Spiritborn_Gorilla_Basic = 1817045,
	Spiritborn_Eagle_Basic = 1834476,
	Spiritborn_Jaguar_Basic = 1834473,
	Spiritborn_Centipede_Basic = 1834471,
	Spiritborn_Gorilla_Core = 1519050,
	Spiritborn_Eagle_Core = 1519048,
	Spiritborn_Jaguar_Core = 1640931,
	Spiritborn_Centipede_Core = 1836008,
	Spiritborn_Gorilla_Potency = 1871823,
	Spiritborn_Eagle_Potency1 = 1871807,
	Spiritborn_Jaguar_Potency = 1871761,
	Spiritborn_Centipede_Potency = 1871809,
	Spiritborn_Gorilla_Defensive1 = 1871764,
	Spiritborn_Gorilla_Defensive2 = 1871825,
	Spiritborn_Jaguar_Defensive = 1871819,
	Spiritborn_Centipede_Defensive = 1871801,
	Spiritborn_Eagle_Focus = 1489641,
	Spiritborn_Eagle_Focus2 = 1871821,
	Spiritborn_Jaguar_Focus = 1862773,
	Spiritborn_Centipede_Focus = 1871813,
	Spiritborn_Gorilla_Ultimate = 1663208,
	Spiritborn_Eagle_Ultimate = 1663204,
	Spiritborn_Jaguar_Ultimate = 1663206,
	Spiritborn_Centipede_Ultimate = 1663210,
}

return M
